Amazon Linux 2 用の Amazon EC2 インスタンスのインスタンスロールを使用して AWS CodeCommit リポジトリで Git オペレーションを実行する方法を教えてください。

所要時間2分
0

AWS CodeCommit リポジトリで Git オペレーションを実行したいと考えています。また、Amazon Linux 2 用の Amazon Elastic Compute Cloud (Amazon EC2) インスタンスでインスタンスロールを使用したいと考えています。

簡単な説明

EC2 インスタンスのインスタンスロールを使用して CodeCommit](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_ssh-keys.html#access-keys-code-commit) リポジトリの Git 操作を行うには、[AWS コマンドラインインターフェイス (AWS CLI) 認証情報ヘルパーを使用してください。

**メモ:**認証情報ヘルパーを使用することは、AWS ID およびアクセス管理 (IAM) ユーザーを必要としない CodeCommit リポジトリの唯一の接続方法です。

解決

**メモ:**AWS CLI コマンドの実行中にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください

1.    EC2 インスタンスの IAM ロールを作成し、そのロールに次の IAM ポリシーの例をアタッチします。arn: aws: codecommit: us-east-1:111111111111: testrepo を CodeCommit リポジトリの ARN に置き換えてください。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "codecommit:GitPull",
        "codecommit:GitPush"
      ],
      "Resource": "arn:aws:codecommit:us-east-1:111111111111:testrepo"
    }
  ]
}

**メモ:**ステップ 1 のポリシーでは、IAM ロールが CodeCommit リポジトリで Git のプルアクションとプッシュアクションを実行することを許可します。CodeCommit に IAM ポリシーを使用するその他の例については、CodeCommit でのアイデンティティベースのポリシー (IAM ポリシー)の使用を参照してください。

2.    ステップ 1 で作成した IAM ロールを EC2 インスタンスにアタッチします

3.    EC2 インスタンスに Git をインストールします。

**メモ:**詳細については、Git Web サイトのダウンロードを参照してください。

4.    EC2 インスタンスに認証情報ヘルパーをセットアップするには、以下のコマンドを実行します。

$ git config --global credential.helper '!aws codecommit credential-helper $@'

$ git config --global credential.UseHttpPath true

**メモ:**ステップ 4 のコマンドでは、AWS 認証情報プロファイルで Git 認証情報ヘルパーを使用することを指定します。認証情報プロファイルにより、Git は AWS で認証して CodeCommit リポジトリとやり取りできます。認証には、Git は HTTPS と EC2 インスタンスロールの暗号署名バージョンを使用します。

5.    名前とメールアドレスを明示的に設定するには、次のコマンドを実行します。

$ git config --global user.email "testuser@example.com"

$ git config --global user.name "testuser"

**メモ:**名前とメールアドレスは、ユーザー名とホスト名に基づいて自動的に設定されます。

6.    EC2 インスタンスにリポジトリをクローンするには、以下のコマンドを実行します。

$ git clone https://git-codecommit.us-east-1.amazonaws.com/v1/repos/testrepo

7.    CodeCommit リポジトリにコミットを作成します。

**メモ:**Windows を使用している場合は、AWS CLI 認証情報ヘルパーを使用して Windows 上の AWS CodeCommit リポジトリへの HTTPS 接続の設定ステップ を参照してください。


関連情報

AWS CLI 認証情報ヘルパーを使用して Linux、macOS、または Unix 上の AWS CodeCommit リポジトリへの HTTPS 接続を行うためのセットアップステップ

Windows 用の Amazon EC2 インスタンスのインスタンスロールを使用して AWS CodeCommit リポジトリで Git オペレーションを実行する方法を教えてください。

AWS公式
AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ