見出し画像

クラウドベースの統合開発環境 AWS Cloud9を使ってみた(Systems Manager経由編)

はじめに

前回の記事「クラウドベースの統合開発環境 AWS Cloud9を使ってみた(Directアクセス編)」の手順について記載しましが、今回はSystems Manager経由編について記載します。

Direct アクセスの場合
・22番のインバウンドポートを開いている。(接続できるIPアドレスは制限)

Systems Manager経由するメリット
・EC2インスタンスに対して、インバウンドポートを開かない(no-ingress)

Systems Managerを使ってno-ingressでEC2に接続するメリットについては以下を参照


Cloud9環境構築手順

AWSマネージメントコンソールからCloud9を選択し、
[create enviroment]を押下。

1.Name enviroment

Cloud9の環境名や説明を設定し、[Next step]を押下

2.Configure settings

Cloud9の環境設定は3つの選択肢があります。

1.direct accessモードで新しいEC2インスタンスを作成する
2.Systems Manager経由でアクセスする新しいEC2インスタンスを作成する
3.既存のリモートサーバにSSH経由で接続する

今回はSystems Manager経由で利用するために
[Create a new no-ingress EC2 instance for enviroment(access via Systems Manager]を選択します。

その他のオプションについては割愛。

3.確認画面

しばらく(数分)すると、Cloud9の画面が起動します。

Systems Manager経由でもサクッとCloud9を実行することができました。

構築された環境を確認

1.EC2のインバウンドルールを確認

セキュリティゲートウェイのインバウンドルールが無いことを確認

2.IAMロールを確認

Systems Manager経由を選択したことにより、EC2に"AWSCloud9SSMInstanceProfile"というIAMロールが設定されていることを確認

3.AWSCloud9SSMInstanceProfileの内容を確認

許可ポリシー

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssmmessages:CreateControlChannel",
                "ssmmessages:CreateDataChannel",
                "ssmmessages:OpenControlChannel",
                "ssmmessages:OpenDataChannel",
                "ssm:UpdateInstanceInformation"
            ],
            "Resource": "*"
        }
    ]
}

信頼ポリシー

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "ec2.amazonaws.com",
                    "cloud9.amazonaws.com"
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

最後に

今回、Systems Manager経由で利用するCloud9環境を構築してみたが、Directアクセスとほぼ変わらない手順だった。

インバウンドポートを開けていないSystems Manager経由(no-ingress)の環境の方が、安心して利用できるので、Directアクセスではなく、Systems Manager経由アクセスの方がCloud9作成時のデフォルト選択肢になっていても良いと思ったのだが、そうなっていない理由はなぜだろうか・・・

Systems Manager経由の場合は、AWSCloud9SSMInstanceProfileのIAMロールが自動的にアタッチされるからだろうか・・・(EC2は1つのIAMロールしかアタッチすることができない)


この記事が気に入ったらサポートをしてみませんか?