2022年12月31日土曜日

Cfn備忘録(CodeDeploy:デプロイ失敗の件)




 以下、cloudformation.DescribeStacksに関連したエラーが出たので
トラブルシューティングをしていく。






















対応策:
CodeDeployのIamRole内に以下のポリシーを追加することで解決した。





2022年12月27日火曜日

Lambda(S3にあるファイルを呼び出してみる)

以下、Pythonを使ってS3にあるファイルを呼び出してみる

-------------ソースコード--------

import json
import boto3
# バケット名,オブジェクト名
BUCKET_NAME = 'バケット名'
OBJECT_KEY_NAME = 'バケットにあるファイル名'
s3_client = boto3.client('s3')
def lambda_handler(event, context):
    response = s3_client.get_object(Bucket=BUCKET_NAME, Key=OBJECT_KEY_NAME)
    body = response['Body'].read().decode('utf-8')
    print(body)
    return ''
-------------------------------------------------





2022年12月11日日曜日

Former2(Cloudformatonのコード化ツール)

参照先:
https://former2.com


前提条件:

1)AWSにて環境が作成されていこと

2)AWSクレデンシャル情報を把握されていること


手順:

1)Setup > Credentials > AWSのクレデンシャルを記載

2)右上に表示されている”リージョン情報”に対象のリージョン(今回は、 Asia Pasific(Tokyo))にする

3)Scan Accountを押す。












4)対象のサービスを選択(今回はEC2を選択)

5)対象のリソースを選択(チェックボックスにチェックする)

6)Add Selectedを押す

7)Generateを押す











出力された内容:



2022年12月10日土曜日

Cloudformation(スタック間のパラメータの連携)

以下のように、outputに払い出しすることでスタック間でパラメータの参照が可能になる
















実際にCloudformationにてデプロイを行うと以下のような

エクスポート名が表示されていることが確認できる。

この値を利用することでスタック間でパラメータの参照が可能になる。












■他のスタックからパラメータを取得する記述方法について


上記、outputに出力したパラメータ(Export)を

!ImportValueによって外部のスタックから参照できるようになる。



2022年12月3日土曜日

ALBにて、メンテ画面を作成してみる。

 作成したALB に移動するリスナー > 対象のリスナーを選択 >  アクション > ルール管理を選択 






1)パス:今回は、以下のシンプルなパスにする


2)固定レスポンスを返すを選択


3)レスポンス本文:以下の内容を入力


<!doctype html>

<html lang="ja">

<head>

  <meta charset="UTF-8">

  <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, minimum-scale=1.0">

  <meta http-equiv="X-UA-Compatible" content="ie=edge">

  <link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet">

  <title>ただいまメンテナンス中です</title>

</head>

<body>

  <div class="flex flex-col justify-center items-center w-screen h-screen">

    <h1 class="text-center text-2xl font-bold">ただいまメンテナンス中です</h1>

    <dl class="text-center text-lg font-bold mt-4">

      <dt>【メンテナンス日時】</dt>

      <dd class="mt-2 text-red-600">2022年12月1日 0:00〜1:00</dd>

    </dl>

    <p class="text-center mt-4">ご利用の皆様にはご迷惑をおかけし、申し訳ございません。<br>メンテナンス終了までしばらくお待ちください。</p>

  </div>

</body>

</html>
















検証:
EC2 をシャットダウンしてからcurlコマンドにて確認してみる。









EFS(Dockerfile)の記載について注意

  Dockerfileにefsのマウントパス宛に、ファイルコピーを行うと ECSのサービス作成時に、コンテナのデプロイ失敗に(container run time error)になるので 別経由で、EFSにファイルをコピーした方が良い!! <Dockerfile> ...