2020/06/16

Alibaba Cloud OSS にカスタムドメインを設定してCloudflareと連携させてみた

Alibaba Cloud Object Storage Service(oss) は基本的にはサービス側が提供するドメイン(aliyuncs.com)で静的コンテンツなどを展開可能ですが、やはり独自のドメインで展開したいと言う場合もあると思います。

Alibaba Cloud OSS も独自のドメインを利用することが可能なので、今回はカスタムドメインを割り当てる手順をご紹介します。

また、今回は Cloudflare で管理しているドメインがあったので Cloudflare と OSS を連携してアクセスが出来ることも一緒に確認してみようと思います。

Alibaba Cloud OSS にカスタムドメインを設定してCloudflareと連携させてみた

OSS の CNAME 割り当て

Alibaba Cloud DNS を使用している場合、CNAMEの割り当ては自動で行われるのですが、外部DNSを使用する場合は手動での割り当てが必要になります。

まずは、Alibaba cloud の管理コンソールから対象のバケットを選択し、パブリックエンドポイント(Access Over Internet)を確認します。
基本的にはバケット名.リージョンID.aliyuncs.comとなります。

Alibaba Cloud OSS のCNAME設定

確認したパブリックエンドポイントを Cloudflare の DNS に登録します。

image.png

今回はoss.xxx.comと言うサブドメインに対して Alibaba Cloud OSS を割り当てます。

Alibaba Cloud OSS のCNAME を Cloudflare DNS に設定

正常にレコードが追加されます。

image.png

カスタムドメインの設定

Alibaba cloud の管理コンソールから対象のバケットを選択し 「Transmission > Domain Names」 から Bind Custom Domain Nameを選択します。

Alibaba Cloud OSS にカスタムドメインを設定

Custom Domain Name に CNAME を割り当てたドメイン名を入力します。
※Alibaba Cloud DNS で管理している場合は、事前のCNAME割り当ては不要です。

今回はoss.xxx.comというサブドメインを使用してみます。
「Submit」を選択します。

Alibaba Cloud OSS にカスタムドメインを設定

設定が完了すると以下のような画面が表示されます。
Alibaba Cloud CDN を使用する設定や、設定したカスタムドメインで HTTPS を受けるための証明書のアップロードなどが必要ですが、今回は前段に Cloudflare が居るので不要です。
※Alibaba Cloud 内で完結する場合は設定が必要になります。

image.png

Cloudflare 経由での Alibaba Cloud OSS へのアクセス

それでは設定も出来たので Cloudflare 経由で OSS のオブジェクトにアクセスしてみたいと思います。
以前 OSS で作った静的ページがあるのでそれを流用してみます。



./webinar/index.htmlにあるファイルにアクセスしてみたいと思います。

image.png

カスタムドメインに割り当てたドメインでアクセスすると問題なくコンテンツが表示されました!
SSL証明書の情報を確認するとCloudflareの証明書が出てくることが確認できます。

Cloudflare証明書

設定も特に難しいところが無くドメインさえあれば適用できましたね!
今回は Cloudflare を使いましたので、CDN と SSL などもついてるのですが、他のDNSの場合はその辺が必要かな・・・

2020/06/02

スイッチロールによる Alibaba Cloud の複数アカウント運用

はじめに

複数プロジェクトや複数環境用にクラウドのアカウントが複数存在する事はよくあると思います。
※パブリッククラウドによってはそうならないところもありますね。

その場合、各アカウント配下でログイン用のユーザーを作ったりしていると管理が大変になってきます。
今回は Alibaba Cloud で複数アカウントを持っている時に便利なクロスアカウントでのスイッチロールの使い方を簡単に紹介したいと思います。
※アカウント作成の方法は割愛します。

イメージは以下のような感じです。

スイッチロールによる Alibaba Cloud の複数アカウント運用 

【スイッチ先】RAMロールの作成


最初にスイッチロールでログインされる「スイッチ先」のアカウントで
RAMロールを作成します。
「RAMロール」の画面でRAMロールの作成を選択します。 

image.png

「信頼済みエンティティタイプ」でAlibaba Cloud アカウントを選択します。 

スイッチロール用のロール作成

RAMロール名に一意のロール名をつけます。
「信頼できる Alibaba Cloud アカウントの選択」の項目でその他の Alibaba Cloud アカウントを選択します。
テキストボックスに 信頼する Alibaba Cloud アカウントの UID(スイッチ元の Alibaba Cloud アカウントUID)を入力します。
「完了」を選択します。 

スイッチロール用のロール作成とルートアカウントの連携

「RAM ロールの作成が完了しました。」と表示されるので、RAM ロールの権限付与を選択します。 

image.png

【スイッチ先】RAMロールの権限設定


権限付与の画面が表示されるので、スイッチロールでログインするユーザーに必要な権限を選択します。

※今回は例として管理者権限(AdministratorAccess)を付与しています。 

スイッチロール用のロールへの権限割り当て

権限の付与に成功すれば権限付与は完了です。 

image.png

作成したロール名と下記のドメイン名を使うので覚えておきます。 

image.png 

【スイッチ元】RAMユーザーログイン

スイッチ元アカウントでのRAMユーザーの作成は割愛します。
RAMユーザーのログインに関してもドキュメントをご確認ください。 

Alibaba Cloud のRAMログイン

Log onを選択します。 

image.png

MFAのコードを入力してSubmit Verificationを選択します。
MFAは「Google Authenticator」とか「Microsoft Authenticator」が利用可能です。 

image.png 

RAMユーザーでログインしている場合、右上のアイコンを選択すると以下のようなメニューが表示されます。
Switch Roleを選択します。 

Alibaba Cloud のスイッチロール


【スイッチ元】スイッチロールの実行


Enterprise Alias / Default Domain Nameにスイッチ先アカウントのドメイン名を入力します。
Role Nameに作成したスイッチ先アカウントのRAMロール名を入力します。
Switchを選択します。 


Alibaba Cloud のスイッチロール


再び管理コンソールの画面が表示されます、右上のアイコンを選択すると以下のようなメニューが表示されスイッチロールでログインできていることが確認できます。
Current ~がスイッチ先の情報
Login ~がスイッチ元の情報 


スイッチロール後の確認

あとは、権限に応じた操作ができるようになっているので必要な作業を行うことが可能です。
なお、Back to Lo...を選択するとスイッチ元のアカウントに戻ることが可能です。


Alibaba Cloud の Region 増えてた

  久々に Alibaba Cloud を覗いてみたら・・・ あ、なんかリージョン増えてるわ 昨年発表していたフィリピン(マニラ)リージョン、タイ(バンコク)リージョン、韓国(ソウル)リージョン が増えていたのでちょっと現状確認してみました。 フィリピン(マニラ)リージョンの場合...