![見出し画像](https://assets.st-note.com/production/uploads/images/133983862/rectangle_large_type_2_e87bf0df05b6604f061b9c6210b83897.png?width=1200)
AWSユーザがアリババクラウドでECSインスタンスを作成してみた(前編)
はじめに
アリババクラウドのECSとはアリババクラウドのIaaSのサービスです。
AWSユーザだとECSと聞くとコンテナ関連のサービスと思われてしまうかもしれませんが、AWSのEC2に相当するサービスとなります。
業務でアリババクラウドでECSのインスタンスを作成する機会があり、アリババクラウド自体がAWSと似ている点が多いため取っ付きやすかった反面、AWSと異なる面もあったため、AWSのEC2のインスタンスの作成方法と比較して紹介したいと思います。
今回は前編としてネットワーク関連/ECSに付与するロールの設定について紹介していきます。
対象
AWSを利用したことはあるが、アリババクラウドの利用をしたことがない人
構成
PubilcからのHTTP/SSHを許可するLinuxインスタンス
インスタンスからOSSを操作できる様にロールを付与する
作成方法(ネットワーク)
VPC作成
はじめにVPC(Virtual Private Cloud)を作成します。
![VPC1](https://assets.st-note.com/img/1704880681-7t9OjvBMqJ.png?width=1200)
「Create VPC」を選択するとVPC作成画面が表示されます。
VPCの作成に必要な情報としては、以下の情報となります。
![VPC2](https://assets.st-note.com/img/1704880682-QXSJZGBREJ.png?width=1200)
Name
IPv4 CIDR Block
Description
設定内容としては、AWSと同様になりますが、違う点もありました。
IPv4 CIDR Blockで選択できるのは、以下のNW帯となっていました。
NW設計をする際にはこの点を考慮する必要がありそうです。
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
尚、IPv4 CIDR Blockのhelp表示で以下の記載もあったので、チケットを登録することでパブリックIPを含めたNW帯域も作成は可能な様です。
We recommend that you use RFC private IP ranges 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16 for VPC subnets. If you require the use of a public IP range for your VPC, Submit a ticket.
VSwitchの作成
VSwitchとはAWSのSubnetのことです。
VSwitchの作成はVPCの作成と同時に行うことが出来るUIとなっておりました。
VPCと同じタイミングで作成することが多いため、このUIは便利だと思いました。
設定する内容としては、以下の項目となっていました。
![VPC3](https://assets.st-note.com/img/1704880683-CI1V5qchj4.png?width=1200)
Name
Zone
IPv4 CIDR Block
Description
CIDR Blockは/29から/19の範囲で選択できました。
Zoneは東京リージョンで選択出来るのは2つのZoneの様です。(2019年6月現在)
また、ここでもAWSと異なる点がありました。
VSwitchの作成画面にZone Resourceと言う項目があり、以下の説明がありました。
The resources status indicates whether a certain cloud service instance can be created in this zone.
The resources available to each zone may vary at different times.
The actual availability of instance resources is displayed on the buy page.
Retrieval of availability information currently only supports ECS, RDS, and SLB.
アリババクラウドではZoneごとに作成出来るリソースが異なるようです。
今回は両方のZoneにECSが含まれていたので、気にせずに進めます。
ルートテーブル
アリババクラウドにもルートテーブルの設定があり、AWSと同様にVSwitchに付与する形の様です
作成したVSwitchには以下のデフォルトルートテーブルが最初に付与されます。
![VPC4](https://assets.st-note.com/img/1704880684-fzaXHFM8rs.png?width=1200)
$$
\begin{array}{|l|l|l|} \hline
\textbf{Destination CIDR Block} & \textbf{Next Hop} & \textbf{Type} \\ \hline\hline
\text{10.0.0.0/29} & \text{–} & \text{system} \\ \hline
\text{100.64.0.0/10} & \text{–} & \text{system} \\ \hline
\end{array}
$$
一つめのルーティングはVPC内部のルーティングを示す設定になっています。こちらは、AWSのデフォルトルーティングと同じ設定ですね。
二つめのルーティングですが、100.64.0.0/10 はシステムに予約されたCIDR ブロックとのことです。
デフォルトルートテーブル以外にカスタムルートテーブルも作成することができますが、こちらはまた別の機会にお話できればと思います。
IGWの作成(不要)
AWSの経験者であれば、この段階でIGWを作成し、パブリックサブネットのルートテーブルにアタッチする操作が必要と考えるかと思いますが、アリババクラウドでは不要となります。(IGW自体がありません)
アリババクラウドではサブネット単位でのパブリック/プライベートの区別がなく、インスタンス等のリソースにグローバルIPをつけるか/つけないかにより、リソースごとにグローバルへの通信を許可するか/しないかを制御するようです。
ここの部分はAWSと大きく考え方が異なる部分ですね。
また、NATゲートウェイも用意されているので、グローバルIPを持たないリソースもNATゲートウェイ経由でインターネットに接続は出来る様です。
NACLについて
AWSではサブベット単位の設定としてNACLがあるかと思いますが、アリババクラウドではNACLの設定はありません。
アリババクラウドでアクセス制御ははセキュリティグループでのみ行う様になっている様です。
作成方法(RAM Roleの作成)
今回の構成ではECSからOSSへアクセス出来る構成の実現が必要です。
AWSの場合は、この場合、IAM Role でEC2用ロールを作成してEC2にアタッチする構成を取るかと思いますが、アリババクラウドでも同様のことは行えます。
アリババクラウドのIAMと同様のサービスとしてResource Access Management (RAM)と言う機能があり、RAM上でロールを作成する形となります。
RAM Roleの作成
ECS用のロール作成は以下の手順で作成します。
![RAM1](https://assets.st-note.com/img/1704880685-zroQ9OzICw.png?width=1200)
1. Select Role Type
Service Roleを選択
他にUser Roleを選択できますが、こちらはAWSのクロスアカウントロールの様なことが出来るロールの様です
![RAM2](https://assets.st-note.com/img/1704880686-qR8oXJNyC4.png?width=1200)
2. Enter Type
ロールを利用するリソースの選択です。今回は以下を選択。
ECS Elastic Compute Service
![RAM3](https://assets.st-note.com/img/1704880687-p7jQxAg1bC.png?width=1200)
3. Role Name/Description を入力
![RAM4](https://assets.st-note.com/img/1704880689-Uk8Eg7zr77.png?width=1200)
ポリシーのアタッチ
ポリシーの付与はRAM Role の設定画面の「権限付与ポリシー」の設定から行います。
今回はデフォルトで用意されているAliyunOSSFullAccessと言うOSSへのフルアクセスを行えるポリシーをアタッチします。
![RAM5](https://assets.st-note.com/img/1704880690-unFZa21VxT.png?width=1200)
デフォルトのポリシー以外に細かいアクセス制御を行いたい場合はカスタムポリシーを作成してアタッチすることも可能です。
カスタムポリシーの書き方については、本記事では割愛しますが、JSONでの記載になっており、パラメータもIAMと似ているので、AWSユーザにも取っ付きやすい印象です。
以下は参考までにAliyunOSSFullAccessのポリシーの中身を記載します。
{
"Statement": [
{
"Action": "oss:*",
"Effect": "Allow",
"Resource": "*"
}
],
"Version": "1"
}
まとめ
前編としてVPCとRAM設定について紹介させていただきました。
AWSと異なる部分はありましたが、全体的にAWSに似ている部分も多く、AWS経験者であれば学習コストを抑えて利用出来る内容になっていると思います。
次回は引き続きECSインスタンスの起動について紹介したいと思います。
この記事が気に入ったらサポートをしてみませんか?